home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / iis_samples.nasl < prev    next >
Text File  |  2005-01-14  |  5KB  |  152 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. # updated for Westpoint ltd. by Paul Johnston <paul@westpoint.ltd.uk>
  4. #
  5. # Script audit and contributions from Carmichael Security <http://www.carmichaelsecurity.com>
  6. #      Erik Anderson <eanders@carmichaelsecurity.com>
  7. #      Added link to the Bugtraq message archive
  8. #
  9. # See the Nessus Scripts License for details
  10. #
  11.  
  12. head = "
  13. Some of the IIS sample files are present.
  14.  
  15. They all contain various security flaws which could allow 
  16. an attacker to execute arbitrary commands, read arbitrary files 
  17. or gain valuable information about the remote system. 
  18.  
  19. ";
  20.  
  21.  
  22. tail = "
  23. Solution : Delete the whole /iissamples directory
  24. Reference : http://online.securityfocus.com/infocus/1318
  25. Risk factor : High";
  26.  
  27. desc["english"] = head + tail;
  28.  
  29. desc["francais"] = "
  30. Certains des fichiers d'exemples sont installΘs.
  31.  
  32. Ils contiennent tous des failles permettant α un pirate
  33. d'executer des commandes arbitraires, de lire des fichiers
  34. arbitraires ou bien d'avoir plus d'informations sur ce
  35. systΦme.
  36.  
  37. Solution : effacez le dossier /iissamples
  38. Facteur de risque : ElevΘ";
  39.  
  40. if(description)
  41. {
  42.  script_id(10370);
  43.  script_version ("$Revision: 1.21 $");
  44.  
  45.  name["english"] = "IIS dangerous sample files";
  46.  name["francais"] = "Fichiers d'exemples IIS dangereux";
  47.  script_name(english:name["english"], francais:name["francais"]);
  48.  
  49.  script_description(english:desc["english"], francais:desc["francais"]);
  50.  
  51.  summary["english"] = "Determines whether IIS samples files are installed";
  52.  summary["francais"] = "Determines si les fichiers d'exemples de IIS sont installΘs";
  53.  
  54.  script_summary(english:summary["english"], francais:summary["francais"]);
  55.  
  56.  script_category(ACT_GATHER_INFO);
  57.  
  58.  
  59.  script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison",
  60.     francais:"Ce script est Copyright (C) 2000 Renaud Deraison");
  61.  family["english"] = "CGI abuses";
  62.  family["francais"] = "Abus de CGI";
  63.  script_family(english:family["english"], francais:family["francais"]);
  64.  script_dependencie("find_service.nes", "http_version.nasl", "www_fingerprinting_hmap.nasl");
  65.  script_require_ports("Services/www", 80);
  66.  exit(0);
  67. }
  68.  
  69. include("http_func.inc");
  70. include("http_keepalive.inc");
  71.  
  72. #--
  73. # List of files and text strings to scan for
  74. #--
  75. files[0]    = "/iissamples/issamples/fastq.idq";
  76. messages[0] = "The template file can not be found in the location specified";
  77.  
  78. files[1]    = "/iissamples/issamples/query.idq";
  79. messages[1] = messages[0];
  80.   
  81. files[2]    = "/iissamples/exair/search/search.idq";
  82. messages[2] = messages[0];
  83.  
  84. files[3]    = "/iissamples/exair/search/query.idq";
  85. messages[3] = messages[0];
  86.  
  87. files[4]    = "/iissamples/issamples/oop/qsumrhit.htw?CiWebHitsFile=/iissamples/issamples/oop/qsumrhit.htw&CiRestriction=none&CiHiliteType=Full";
  88. messages[4] = "This is the formatting page for webhits summary highlighting.";
  89.     
  90. files[5]    = "/iissamples/issamples/oop/qfullhit.htw?CiWebHitsFile=/iissamples/issamples/oop/qfullhit.htw&CiRestriction=none&CiHiliteType=Full";
  91. messages[5] = "This is the formatting page for webhits full highlighting";
  92.  
  93. files[6]    = "/scripts/samples/search/author.idq";
  94. messages[6] = messages[0];
  95.  
  96. files[7]    = "/scripts/samples/search/filesize.idq";
  97. messages[7] = messages[0];
  98.     
  99. files[8]    = "/scripts/samples/search/filetime.idq";
  100. messages[8] = messages[0];
  101.  
  102. files[9]    = "/scripts/samples/search/queryhit.idq";
  103. messages[9] = messages[0];
  104.  
  105. files[10]    = "/scripts/samples/search/simple.idq";
  106. messages[10] = messages[0];
  107.  
  108. files[11]    = "/iissamples/exair/howitworks/codebrws.asp";
  109. messages[11] = "ASP Source code browser";
  110.     
  111. files[12]    = "/iissamples/issamples/query.asp";
  112. messages[12] = "Sample ASP Search Form";
  113.  
  114. # these produce false positive against IIS
  115.  
  116. # files[0]    = "/scripts/samples/search/qfullhit.htw",
  117. # messages[0] = "The format of QUERY_STRING is invalid.");
  118. # files[0]    = "/scripts/samples/search/qsumrhit.htw",
  119. # messages[0] = "The format of QUERY_STRING is invalid.");
  120.         
  121. #--
  122. # Scan for all the files in the list
  123. #--
  124. found_files = "";
  125.  
  126.  
  127. port = get_http_port(default:80);
  128. if ( ! can_host_asp(port:port) ) exit(0);
  129.  
  130.  
  131. for(i = 0; files[i]; i = i + 1)
  132. {
  133.       request = http_get(item: files[i], port: port);
  134.       response = http_keepalive_send_recv(port:port, data:request);
  135.       if(response == NULL)break;
  136.       
  137.       if(messages[i] >< response)
  138.       {
  139.         found_files = string(found_files, files[i], "\n");
  140.       }
  141. }
  142.  
  143. #--
  144. # Report any holes found
  145. #--
  146. if(found_files != "")
  147. {
  148.   msg = string("\n\nThe following files are present:\n\n");
  149.   report = string(head, msg, found_files, "\n", tail);  
  150.   security_hole(data: report, port: port);
  151. }
  152.